/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.hamacekj.geometr.plugin;

/**
 * Hodnota předaného argumentu.
 * @author hamacekh
 */
public interface ValueArgument {
    /**
     * Jméno argumentu.
     * @return Jméno předaného argumentu.
     * @see ParameterValue#getCaption()
     * @see ParameterObject#getCaption() 
     */
    public String getArgumentName();
    /**
     * Přesná hodnota ze vstupu. Doslova opsaný text, který zadal uživatel.
     * @return Přesná hodnota ze vstupu.
     */
    public String getRealInput();
    /**
     * Číselná hodnota parametru (vzdálenost, apod).
     * Pokud uživatel zadal argument jako vzdálenost dvou objektů,
     * je vrácená hodnota vypočítanou vzdáleností těchto dvou objektů.
     * Pokud uživatel zadal číslo, je vrácena hodnota tohoto čísla.
     * Pokud uživatel zadal něco jiného, je vráceno {@link Double#NaN NaN}.
     */
    public double getValue();
}
